emacs.git
22 months agoMake 'vtable-insert-object' more versatile
Joost Kremers [Tue, 7 May 2024 09:52:27 +0000 (11:52 +0200)]
Make 'vtable-insert-object' more versatile

* lisp/emacs-lisp/vtable.el (vtable-insert-object): Rename
argument AFTER-OBJECT to LOCATION; allow use of index to
refer to the insertion position; add argument BEFORE.
(Bug#70664).

* etc/NEWS:
* doc/misc/vtable.texi (Interface Functions): Document the
change.

* test/lisp/emacs-lisp/vtable-tests.el
(test-vtable-insert-object): New test.

22 months ago* Work around GCC bug affecting Garbage Collection (bug#65727).
Andrea Corallo [Sat, 18 May 2024 06:59:17 +0000 (08:59 +0200)]
* Work around GCC bug affecting Garbage Collection (bug#65727).

* src/lisp.h (flush_stack_call_func): Prevent GCC sibling call
optimization to run with an asm inline.

22 months agoFix project-find-regexp in remote projects
Dmitry Gutov [Sat, 18 May 2024 00:24:56 +0000 (03:24 +0300)]
Fix project-find-regexp in remote projects

* lisp/progmodes/xref.el (xref--hits-file-prefix):
New variable.  Something to prepend to each file name (bug#69233).
(xref--convert-hits): Use it to also store the "default directory"
part of the filename conditionally on whether it's remote.
(xref--collect-matches): Use the new variable here.

22 months agoxref--group-name-for-display: Undo most of the latest change
Dmitry Gutov [Sat, 18 May 2024 00:00:29 +0000 (03:00 +0300)]
xref--group-name-for-display: Undo most of the latest change

* lisp/progmodes/xref.el (xref--group-name-for-display):
Remove the DD-SUFFIX parameter, returning the function more like
to how it was (bug#69233).
(xref--analyze, xref--add-log-current-defun):
Revert the previous change accordingly.

* test/lisp/progmodes/xref-tests.el: Undo the last change.

22 months agoPort to certain Android environments with no GUI
Po Lu [Fri, 17 May 2024 11:21:05 +0000 (19:21 +0800)]
Port to certain Android environments with no GUI

* configure.ac (USER_FULL_NAME): Define to
android_user_full_name only when a GUI system is being built.
Otherwise, set to pw->pw_gecos or NULL consistently with the
presence of pw->pw_gecos.

* src/editfns.c (Fuser_full_name): Adjust to match.  Accept NULL
values from USER_FULL_NAME.

22 months ago; Avoid compiler warning in w32term.c
Eli Zaretskii [Fri, 17 May 2024 06:43:20 +0000 (09:43 +0300)]
; Avoid compiler warning in w32term.c

* src/w32term.c (w32_draw_glyphless_glyph_string_foreground):
Avoid GCC 14 warning about storing address of local variable.

22 months agoAdd new Eshell built-in command 'funcall'
Jim Porter [Fri, 17 May 2024 03:33:18 +0000 (20:33 -0700)]
Add new Eshell built-in command 'funcall'

* lisp/eshell/esh-cmd.el (eshell/funcall): New function...

* test/lisp/eshell/em-glob-tests.el (em-glob-test/expand/splice-results)
(em-glob-test/expand/no-splice-results)
(em-glob-test/expand/explicitly-splice-results)
(em-glob-test/expand/explicitly-listify-results):
* test/lisp/eshell/esh-var-tests.el
(esh-var-test/quoted-interp-lisp-indices)
(esh-var-test/quoted-interp-cmd-indices)
(esh-var-test/interp-convert-quoted-var-number)
(esh-var-test/quoted-interp-convert-var-number)
(esh-var-test/quoted-interp-convert-quoted-var-number)
(esh-var-test/last-status-var-lisp-command)
(esh-var-test/last-result-var-split-indices)
(esh-var-test/last-arg-var-split-indices): ... use it in tests.

* doc/misc/eshell.texi (List of Built-ins): Describe this command.

22 months ago; Fix search in remote project with relative file names
Dmitry Gutov [Thu, 16 May 2024 22:05:17 +0000 (01:05 +0300)]
; Fix search in remote project with relative file names

22 months ago; cperl-mode.el: prevent Emacs from "freezing" (Bug#70948)
Harald Jörg [Thu, 16 May 2024 20:22:37 +0000 (22:22 +0200)]
; cperl-mode.el: prevent Emacs from "freezing" (Bug#70948)

* cperl-mode.el (defconst): Replace the rx expression for
`cperl--basic-identifier-rx' with its actual macro expansion.
This makes it efficient under Emacs 29.3, where the expansion
by rx.el could make Emacs freeze with a crafted Perl source
(Bug#70948).

22 months ago;cperl-mode.el: Allow running under Emacs >=27
Harald Jörg [Thu, 16 May 2024 19:55:07 +0000 (21:55 +0200)]
;cperl-mode.el: Allow running under Emacs >=27

I would like to advertise cperl-mode.el from the repository as a
workaround for bug#70948.  This can be achieved by safeguarding
the call to derived-mode-add-parents with a version check.

* lisp/progmodes/cperl-mode.el: Call derived-mode-add-parents only
if it is available.

22 months ago; Fix wrong-type-argument in 'rcirc-handler-INVITE'
Philip Kaludercic [Thu, 16 May 2024 17:51:11 +0000 (19:51 +0200)]
; Fix wrong-type-argument in 'rcirc-handler-INVITE'

* lisp/net/rcirc.el (rcirc-handler-INVITE): Use
'with-rcirc-process-buffer' instead of passing a process to
'buffer-local-value'.

22 months ago(describe-package-1): Handle (nil . "string") in `:maintainer`
Stefan Monnier [Thu, 16 May 2024 15:01:11 +0000 (11:01 -0400)]
(describe-package-1): Handle (nil . "string") in `:maintainer`

* lisp/emacs-lisp/package.el (describe-package-1): Refine the
check to distinguish the old single-maintainer format from the
new multi-maintainer format.  (bug#69712)

22 months ago* lisp/loadup.el: Add workaround for occasional "bootstrap" failure
Stefan Monnier [Thu, 16 May 2024 13:50:39 +0000 (09:50 -0400)]
* lisp/loadup.el: Add workaround for occasional "bootstrap" failure

22 months agoAdd multi/unibyte string tests for key-description
Robert Pluim [Tue, 14 May 2024 15:41:57 +0000 (17:41 +0200)]
Add multi/unibyte string tests for key-description

* test/src/keymap-tests.el (keymap--key-description): Add multi/unibyte
tests.

This is to check the fix for Bug#59305.

22 months ago* doc/emacs/mule.texi (Unibyte Mode): Mention iso-transl-set-language
Robert Pluim [Tue, 14 May 2024 15:35:04 +0000 (17:35 +0200)]
* doc/emacs/mule.texi (Unibyte Mode): Mention iso-transl-set-language

22 months ago* Fix bootstrap with checking enabled
Andrea Corallo [Thu, 16 May 2024 05:42:14 +0000 (07:42 +0200)]
* Fix bootstrap with checking enabled

* lisp/emacs-lisp/comp.el (comp--limplify-top-level): Set function
safety.

22 months ago; * lisp/eshell/esh-ext.el (eshell-remote-command): Improve last change.
Jim Porter [Thu, 16 May 2024 05:22:56 +0000 (22:22 -0700)]
; * lisp/eshell/esh-ext.el (eshell-remote-command): Improve last change.

22 months agoUse "/local:" prefix in Eshell to run local commands when cwd is remote
Jim Porter [Fri, 10 May 2024 19:22:52 +0000 (12:22 -0700)]
Use "/local:" prefix in Eshell to run local commands when cwd is remote

* lisp/eshell/esh-ext.el (eshell-explicit-remote-commands)
(eshell-explicit-command): Update docstrings.
(eshell--local-prefix): New constant.
(eshell-handle-remote-command): Remove.
(eshell-quoted-file-command): New function...
(eshell-ext-initialize): ... add it as a hook.
(eshell-remote-command): Support running commands on localhost.
(eshell-connection-local-command): Rename from
'eshell-external-command'.
(eshell-external-command): New implementation calling
'eshell-remote-command' or 'eshell-connection-local-command' as
appropriate.

* test/lisp/eshell/esh-ext-tests.el
(esh-ext-test/explicitly-local-command): Update test.

* doc/misc/eshell.texi (Remote Access): Update documentation.

* etc/NEWS: Update announcement.

22 months ago(eglot--managed-mode): Avoid calling track-changes unregistered
Sean Whitton [Wed, 15 May 2024 18:50:18 +0000 (14:50 -0400)]
(eglot--managed-mode): Avoid calling track-changes unregistered

* lisp/progmodes/eglot.el (eglot--managed-mode): Unregister from
track-changes after `eglot-shutdown` since that function may
call `eglot--signal-textDocument/didChange`.  (bug#70927)

22 months agovc-git-root-log-format: Explicitly match periods
Sean Whitton [Wed, 15 May 2024 18:04:03 +0000 (19:04 +0100)]
vc-git-root-log-format: Explicitly match periods

* lisp/vc/vc-git.el (vc-git-root-log-format): Explicity match
periods, rather than matching them only because '.' matches any
chars.

22 months agocontrol.texi: Be a bit more explicit about the behavior of `pcase-let`
Stefan Monnier [Wed, 15 May 2024 17:57:11 +0000 (13:57 -0400)]
control.texi: Be a bit more explicit about the behavior of `pcase-let`

* doc/lispref/control.texi (Destructuring with pcase Patterns):
Clarify the kind of "unspecified" behavior that can occur when
the destructing pattern does not match the value.

22 months ago* admin/MAINTAINERS: Add myself in (co-)maintainers.
Andrea Corallo [Wed, 15 May 2024 17:17:30 +0000 (19:17 +0200)]
* admin/MAINTAINERS: Add myself in (co-)maintainers.

22 months ago; * lisp/gnus/mml-smime.el: Need cl-lib at runtime now.
Mattias Engdegård [Wed, 15 May 2024 13:23:18 +0000 (15:23 +0200)]
; * lisp/gnus/mml-smime.el: Need cl-lib at runtime now.

22 months ago; * doc/lispref/windows.texi (Buffer Display Action Functions): Fix wording.
Martin Rudalics [Wed, 15 May 2024 07:49:14 +0000 (09:49 +0200)]
; * doc/lispref/windows.texi (Buffer Display Action Functions): Fix wording.

22 months ago(xref--collect-matches): Move inhibit-modification-hooks binding down
Stefan Monnier [Tue, 14 May 2024 21:09:39 +0000 (00:09 +0300)]
(xref--collect-matches): Move inhibit-modification-hooks binding down

* lisp/progmodes/xref.el (xref--collect-matches): Move the
inhibit-modification-hooks binding a little down (bug#53749).
(xref--show-common-initialize): Add sharp-quoting.

22 months agoAvoid another warning (bug#70942).
Eli Zaretskii [Tue, 14 May 2024 17:45:58 +0000 (20:45 +0300)]
Avoid another warning (bug#70942).

22 months agoFix some compilation warnings
Eli Zaretskii [Tue, 14 May 2024 17:42:11 +0000 (20:42 +0300)]
Fix some compilation warnings

Reported by Jacob Faibussowitsch <jacob.fai@gmail.com>

* lisp/net/eww.el (imagep): Declare.

* src/xdisp.c (note_fringe_highlight): Now compiled only if
HAVE_WINDOW_SYSTEM.

22 months ago* lisp/gnus/nnatom.el (libxml-parse-xml-region): Declare to silence warning.
Andrea Corallo [Tue, 14 May 2024 15:47:36 +0000 (17:47 +0200)]
* lisp/gnus/nnatom.el (libxml-parse-xml-region): Declare to silence warning.

22 months ago; * src/process.c (network_lookup_address_info_1): Quote function
Robert Pluim [Tue, 7 May 2024 15:12:22 +0000 (17:12 +0200)]
; * src/process.c (network_lookup_address_info_1): Quote function

22 months agoDocument 'use-default-font-for-symbols' more
Robert Pluim [Fri, 19 Apr 2024 13:14:11 +0000 (15:14 +0200)]
Document 'use-default-font-for-symbols' more

"why does my set-fontset-font call not work for symbols" is a common
question, and it's because 'use-default-font-for-symbols' is not
discoverable enough.

* doc/emacs/mule.texi (Modifying Fontsets): Mention it here.
* doc/lispref/display.texi (Fontsets): And here.
* src/fontset.c (Fset_fontset_font): And most importantly here.

22 months agoUse proper smime-keys entry for S/MIME signatures using OpenSSL
Illia Ostapyshyn [Mon, 6 May 2024 18:24:22 +0000 (20:24 +0200)]
Use proper smime-keys entry for S/MIME signatures using OpenSSL

bug#67931

* doc/misc/emacs-mime.texi (MML Definition):
* lisp/gnus/mml.el (mml-parse-1): Add chainfile parameter to sign tags.
* lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query): Include the
additional certificates from smime-keys in MML tag generation as
chainfile parameters.
(mml-smime-openssl-sign): Forward chainfile entries from the parsed tag
alist to smime-sign-buffer.
; * lisp/gnus/smime.el (smime-sign-region): Fix typo in documentation.
; (smime-sign-buffer): Improve documentation to match smime-sign-region.

22 months ago; * .dir-locals.el (c-mode): Designate INLINE_HEADER_* as noise macros.
Po Lu [Tue, 14 May 2024 14:15:38 +0000 (22:15 +0800)]
; * .dir-locals.el (c-mode): Designate INLINE_HEADER_* as noise macros.

22 months ago* doc/lispref/functions.texi (Declare Form): Rename and update 'ftype' entry.
Andrea Corallo [Tue, 14 May 2024 08:50:05 +0000 (10:50 +0200)]
* doc/lispref/functions.texi (Declare Form): Rename and update 'ftype' entry.

22 months ago* etc/NEWS: Rename 'type' -> 'ftype' and tweak it.
Andrea Corallo [Tue, 14 May 2024 08:37:31 +0000 (10:37 +0200)]
* etc/NEWS: Rename 'type' -> 'ftype' and tweak it.

22 months ago* Allow for optional function name parameter in 'ftype' declaration
Andrea Corallo [Tue, 14 May 2024 07:58:42 +0000 (09:58 +0200)]
* Allow for optional function name parameter in 'ftype' declaration

* lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Allow for
optional function name parameter in 'ftype' declaration.

22 months agoChange 'type' declaration to 'ftype'
Andrea Corallo [Tue, 14 May 2024 07:24:05 +0000 (09:24 +0200)]
Change 'type' declaration to 'ftype'

* lisp/window.el (get-lru-window, get-largest-window)
(one-window-p): Update function type declaration.
* lisp/subr.el (ignore, error, zerop, fixnump, bignump, lsh)
(last, eventp, mouse-movement-p, log10, memory-limit)
(internal-pop-keymap): Likewise.
* lisp/simple.el (count-lines, mark, string-empty-p): Likewise.
* lisp/files.el (parse-colon-path): Likewise.
* lisp/env.el (getenv): Likewise.
* lisp/emacs-lisp/regexp-opt.el (regexp-opt): Likewise.
* lisp/emacs-lisp/lisp.el (buffer-end): Likewise.
* lisp/emacs-lisp/comp.el (comp--final): Likewise.
* lisp/custom.el (custom-variable-p): Likewise.
* lisp/emacs-lisp/byte-run.el (defun-declarations-alist): Rename 'type'
-> 'ftype'.

22 months agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Tue, 14 May 2024 08:50:17 +0000 (10:50 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

22 months agoTrace Tramp user error
Michael Albinus [Tue, 14 May 2024 08:49:52 +0000 (10:49 +0200)]
Trace Tramp user error

* lisp/net/tramp-androidsu.el (tramp-androidsu-maybe-open-connection):
Use `tramp-user-error' for the traces.

22 months ago; * lisp/net/tramp-androidsu.el (tramp-androidsu-handle-make-process): Typo.
Po Lu [Tue, 14 May 2024 08:17:36 +0000 (16:17 +0800)]
; * lisp/net/tramp-androidsu.el (tramp-androidsu-handle-make-process): Typo.

22 months agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Tue, 14 May 2024 08:18:35 +0000 (10:18 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

22 months ago; Fix whitespace
Michael Albinus [Tue, 14 May 2024 08:18:04 +0000 (10:18 +0200)]
; Fix whitespace

22 months agoPort tramp-androidsu to a wider variety of systems
Po Lu [Tue, 14 May 2024 08:13:58 +0000 (16:13 +0800)]
Port tramp-androidsu to a wider variety of systems

* lisp/net/tramp-androidsu.el
(tramp-androidsu-maybe-open-connection): Search for `su' when
the connection is initiated; replace PATH of inferior shell with
trap-androidsu-remote-path.
(tramp-androidsu-handle-make-process): Do not provide username
if root.

22 months ago; * etc/NEWS: Fix wording, again.
Eli Zaretskii [Tue, 14 May 2024 07:53:40 +0000 (10:53 +0300)]
; * etc/NEWS: Fix wording, again.

22 months ago; * etc/NEWS: Fix wording.
Eli Zaretskii [Tue, 14 May 2024 07:52:17 +0000 (10:52 +0300)]
; * etc/NEWS: Fix wording.

22 months agoAdd documentation about sorting Imenu completions (bug#70846)
Juri Linkov [Tue, 14 May 2024 06:55:52 +0000 (09:55 +0300)]
Add documentation about sorting Imenu completions (bug#70846)

* doc/emacs/programs.texi (Imenu): Document how Imenu completions
can be sorted.

* lisp/imenu.el (imenu-sort-function): Explain in the docstring
how to sort Imenu completions.

22 months ago; Fix documentation of recently-installed changes
Eli Zaretskii [Tue, 14 May 2024 05:51:13 +0000 (08:51 +0300)]
; Fix documentation of recently-installed changes

* lisp/emacs-lisp/bytecomp.el (compilation-safety): Doc fix.

* etc/NEWS: Fix wording of the 'compilation-safety' entry.

* doc/lispref/functions.texi (Declare Form): Fix cross-reference
and wording.
* doc/lispref/compile.texi (Native-Compilation Variables): Add the
missing @anchor.  Fix wording.

22 months agoFix failure of `restart-emacs' to restart Emacs on Android
Po Lu [Tue, 14 May 2024 02:16:18 +0000 (10:16 +0800)]
Fix failure of `restart-emacs' to restart Emacs on Android

* src/emacs.c (Fkill_emacs) [HAVE_ANDROID && !ANDROID_STUBIFY]:
Arrange to terminate Emacs upon receipt of a bus error.

22 months ago* etc/NEWS (Safety compilation parameter): Add entry.
Andrea Corallo [Tue, 7 May 2024 08:19:22 +0000 (10:19 +0200)]
* etc/NEWS (Safety compilation parameter): Add entry.

22 months agoAdd some 'compilation-safety' documentation
Andrea Corallo [Sat, 4 May 2024 06:55:56 +0000 (08:55 +0200)]
Add some 'compilation-safety' documentation

* lisp/emacs-lisp/bytecomp.el (compilation-safety): Better doc.
* doc/lispref/functions.texi (Declare Form): Add 'safety'.
* doc/lispref/compile.texi (Native-Compilation Variables): Add
'compilation-safety'.

22 months agoAdd 'safety' function declaration
Andrea Corallo [Fri, 3 May 2024 20:45:04 +0000 (22:45 +0200)]
Add 'safety' function declaration

* lisp/emacs-lisp/comp.el (comp-known-predicates): Use
'comp-func-safety'.
(comp-ctxt, comp-mvar-type-hint-match-p): New 'safety' slot.
(comp-c-func-name): New function.
(comp--spill-lap-function, comp--intern-func-in-ctxt): Update.
* lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Spill safety.
* lisp/emacs-lisp/byte-run.el (byte-run--set-completion): New alias.
(defun-declarations-alist): Update.

22 months agoIntroduce 'compilation-safety' variable
Andrea Corallo [Fri, 3 May 2024 20:21:20 +0000 (22:21 +0200)]
Introduce 'compilation-safety' variable

* lisp/emacs-lisp/bytecomp.el (compilation-safety): New customize.
* src/comp.c (comp_t): Add func_safety.
(emit_call_with_type_hint, emit_call2_with_type_hint): Make use of.
(compile_function): Set 'comp.func_safety'.

22 months ago* lisp/emacs-lisp/comp.el (comp--get-function-cstr): Fix it.
Andrea Corallo [Mon, 13 May 2024 14:41:25 +0000 (16:41 +0200)]
* lisp/emacs-lisp/comp.el (comp--get-function-cstr): Fix it.

22 months ago; Fix the xref--group-name-for-display tests
Dmitry Gutov [Mon, 13 May 2024 13:16:22 +0000 (16:16 +0300)]
; Fix the xref--group-name-for-display tests

22 months agoAvoid resizing mutation in subst-char-in-string, take two
Mattias Engdegård [Mon, 13 May 2024 08:44:05 +0000 (10:44 +0200)]
Avoid resizing mutation in subst-char-in-string, take two

This time we take care to preserve properties, and add a test.

* lisp/subr.el (subst-char-in-string):
Use string-replace to avoid resizing mutation and O(n^2) time.
* test/lisp/subr-tests.el (subr--subst-char-in-string): New test.

22 months agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Mon, 13 May 2024 08:31:45 +0000 (10:31 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

22 months ago* doc/misc/tramp.texi: Adapt some markups.
Michael Albinus [Mon, 13 May 2024 08:31:13 +0000 (10:31 +0200)]
* doc/misc/tramp.texi: Adapt some markups.

22 months ago; Tweak last docstring addition in lisp/imenu.el.
Basil L. Contovounesios [Mon, 13 May 2024 07:58:50 +0000 (09:58 +0200)]
; Tweak last docstring addition in lisp/imenu.el.

22 months agoFix bug#70900
Michael Albinus [Mon, 13 May 2024 07:23:58 +0000 (09:23 +0200)]
Fix bug#70900

* lisp/net/tramp.el (tramp-handle-unlock-file): Be quiet if user
isn't interested in lock files.  Bug#70900

22 months agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Mon, 13 May 2024 07:23:32 +0000 (09:23 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

22 months ago* lisp/imenu.el: Support more values for imenu-flatten (bug#70846)
Juri Linkov [Mon, 13 May 2024 06:59:07 +0000 (09:59 +0300)]
* lisp/imenu.el: Support more values for imenu-flatten (bug#70846)

(imenu-flatten): Change type boolean to choice
of more values for prefix/suffix section names.
(imenu--completion-buffer): Add :annotation-function if
'imenu-flatten' is 'annotation'.
(imenu--flatten-index-alist): Put property 'imenu-section' if
'imenu-flatten' is 'annotation'.

22 months agoCommunicate frame titles to the window manager on Android
Po Lu [Mon, 13 May 2024 06:40:15 +0000 (14:40 +0800)]
Communicate frame titles to the window manager on Android

* java/org/gnu/emacs/EmacsActivity.java (detachWindow)
(attachWindow): Call updateWmName.
(updateWmName): New function; transfer wm name from the window
attached to the task's description.

* java/org/gnu/emacs/EmacsWindow.java (EmacsWindow)
<wmName>: New field.
(setWmName): New function.

* src/android.c (android_init_emacs_window): Link to new
function.
(android_set_wm_name): New function.

* src/android.h (struct android_emacs_service): Delete unused
entries.

* src/androidfns.c (android_set_name_internal, android_set_name)
(android_implicitly_set_name, android_explicitly_set_name)
(android_set_title): Port from X.

* src/androidterm.c (android_term_init): Compute default frame
title.

* src/androidterm.h (struct android_display_info) <x_id_name>:
New field.

22 months agoMerge branch 'master' of git.sv.gnu.org:/srv/git/emacs
Michael Albinus [Mon, 13 May 2024 05:24:30 +0000 (07:24 +0200)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs

22 months agoruby-rubocop-use-bundler: New user option
Dmitry Gutov [Mon, 13 May 2024 02:36:28 +0000 (05:36 +0300)]
ruby-rubocop-use-bundler: New user option

* lisp/progmodes/ruby-mode.el (ruby-rubocop-use-bundler):
New user option.
(ruby-flymake-rubocop--use-bundler-p): Use it.

* etc/NEWS: Mention it.

22 months ago; * src/epaths.in: Declare and use android_game_path.
Po Lu [Mon, 13 May 2024 00:26:04 +0000 (08:26 +0800)]
; * src/epaths.in: Declare and use android_game_path.

22 months agoComplete pacification of build warnings on Android
Po Lu [Mon, 13 May 2024 00:25:39 +0000 (08:25 +0800)]
Complete pacification of build warnings on Android

* build-aux/makecounter.sh: Introduce extern declaration of
emacs_shortlisp_counter.

* src/android.c (android_class_path): Declare static.

* src/androidfont.c (font_driver_class, font_spec_class)
(integer_class, font_metrics_class, font_object_class): Declare
static.

* src/androidterm.c (android_frame_parm_handlers): Move
declaration...

* src/androidterm.h (android_frame_parm_handlers): ... here.

22 months agoFix 'C-u C-x p g' globally and 'A' in dired-mode
Dmitry Gutov [Sun, 12 May 2024 17:42:08 +0000 (20:42 +0300)]
Fix 'C-u C-x p g' globally and 'A' in dired-mode

* lisp/progmodes/project.el (project-find-regexp): Ensure the
DEFAULT-DIRECTORY is set correctly for the 'C-u' case (bug#70888).

* lisp/progmodes/project.el (project--files-in-directory):
Ensure that the DIR argument ends with a slash --
'dired-do-find-regexp' passes it differently, for example.

* lisp/progmodes/xref.el (xref--group-name-for-display): Ensure
the project-relative and absolute display modes work well for
groups with "relative" file names.
(xref--analyze, xref--add-log-current-defun): Change accordingly.

* test/lisp/progmodes/project-tests.el
(project-find-regexp-with-prefix): New test.

22 months agoAdd Tramp method "nspawn"
Michael Albinus [Sun, 12 May 2024 17:40:08 +0000 (19:40 +0200)]
Add Tramp method "nspawn"

* doc/misc/tramp.texi: Adapt some markups.
(Inline methods) <nspawn>: Add.
(Default Host): Mention default host for "nspawn".
(Customizing Methods): Remove tramp-nspawn.
(Password handling): Add "nspawn".

* etc/NEWS: New Tramp method "nspawn".

* lisp/net/tramp-compat.el (tramp-nspawn): Warn, if that package is used.

* lisp/net/tramp-container.el (tramp-nspawn-program): New defcustom.
(tramp-nspawn-method): New defconst.
(tramp-nspawn--completion-function, tramp-enable-nspawn-method):
New defuns.

* lisp/net/tramp.el (tramp-local-host-regexp): Add OpenSUSE host names.

22 months agocompletion--replace: Fix completion cycling
Dmitry Gutov [Sun, 12 May 2024 02:57:10 +0000 (05:57 +0300)]
completion--replace: Fix completion cycling

* lisp/minibuffer.el (completion--replace):
Don't "insert before markers" after all because in some cases
(https://lists.gnu.org/archive/html/emacs-devel/2024-05/msg00701.html)
- like cycling - BEG can be denoted by a marker as well.
(minibuffer-completion-help): Make FIELD-END simply a fixnum.  And
adjust its value manually inside the local
completion-list-insert-choice-function (bug#48356).

22 months agoFix offset of reported conversion regions
Po Lu [Sun, 12 May 2024 13:42:52 +0000 (21:42 +0800)]
Fix offset of reported conversion regions

* src/androidterm.c (request_class, text_class): Pacify new
warning.
(android_update_selection): Don't redundantly subtract 1 from
compose region start.

22 months agoRevert "Avoid resizing mutation in subst-char-in-string"
Mattias Engdegård [Sun, 12 May 2024 13:18:19 +0000 (15:18 +0200)]
Revert "Avoid resizing mutation in subst-char-in-string"

This reverts commit 184d6e8c02345583264b053bb59ae031bb1c5a00.

It wasn't quite correct: the path through `string-replace` would not
preserve text properties in the input string, which broke Gnus.

22 months agoSilence some macOS build warnings
Mattias Engdegård [Sun, 12 May 2024 12:55:55 +0000 (14:55 +0200)]
Silence some macOS build warnings

* src/image.c (native_image_type): Declare static.
* src/keyboard.c (lispy_function_keys): Declare static on NS.
* src/nsmenu.m (context_menu_value):
* src/nsterm.m (ns_frame_parm_handlers): Move extern declarations...
* src/nsterm.h: ...here.
* test/src/emacs-module-resources/mod-test.c: Add extern declaration.

22 months agoSafer and faster string sorting
Mattias Engdegård [Sun, 12 May 2024 09:22:23 +0000 (11:22 +0200)]
Safer and faster string sorting

* lisp/emacs-lisp/cl-seq.el (cl-sort):
Don't use string mutation when sorting the characters in a string.
This avoids O(n^2) run time and makes it future-safe.

22 months agoProperly deinitialize directory cursors on closedir
Po Lu [Sun, 12 May 2024 12:24:19 +0000 (20:24 +0800)]
Properly deinitialize directory cursors on closedir

* src/androidvfs.c (android_saf_tree_closedir): Call
cursor.close, for deleting the local reference to enable its
garbage collection is not sufficient to release all related
resources.

22 months agoAdditional changes to processing of Num Lock on Android
Po Lu [Sun, 12 May 2024 07:46:38 +0000 (15:46 +0800)]
Additional changes to processing of Num Lock on Android

* java/org/gnu/emacs/EmacsView.java (onKeyDown, onKeyMultiple)
(onKeyDown): Disregard Num and Scroll Lock keys, and return
value of window functions to the system.

* java/org/gnu/emacs/EmacsWindow.java (eventModifiers): Return
normalized meta state, not only those bits the system considers
modifiers.
(onKeyDown, onKeyUp): Ignore numpad keys to which no base
characters are assigned, so that the system may generate the
proper action keys instead.

22 months agoCorrect earlier changes to processing of Num Lock on Android
Po Lu [Sun, 12 May 2024 06:13:27 +0000 (14:13 +0800)]
Correct earlier changes to processing of Num Lock on Android

* java/org/gnu/emacs/EmacsWindow.java (onKeyDown, onKeyUp):
Cease stripping META_NUM_LOCK_ON and META_SCROLL_LOCK_ON from
meta masks reported to getUnicodeChar.

22 months ago; Fix a recent change in fns.c
Eli Zaretskii [Sun, 12 May 2024 06:51:51 +0000 (09:51 +0300)]
; Fix a recent change in fns.c

* src/fns.c (value_cmp): Use 'subprocesses', not 'MSDOS', as
conditional for process-related functionalities.

22 months agoPacify warnings in gmalloc.c
Po Lu [Sun, 12 May 2024 05:27:43 +0000 (13:27 +0800)]
Pacify warnings in gmalloc.c

* src/gmalloc.c (__malloc_initialize_hook): Also declare in
advance on Glibc 2.24 and later.
(__after_morecore_hook, __morecore): Likewise on Glibc 2.34 and
later.

22 months ago* oldXMenu/Activate.c (x_menu_grab_keyboard): Declare static.
Po Lu [Sun, 12 May 2024 05:21:09 +0000 (13:21 +0800)]
* oldXMenu/Activate.c (x_menu_grab_keyboard): Declare static.

22 months agoFix the DJGPP build
Po Lu [Sun, 12 May 2024 02:38:26 +0000 (10:38 +0800)]
Fix the DJGPP build

* src/fns.c (value_cmp) [MSDOS]: Consider processes unordered
on DOS.

22 months ago* src/keyboard.c (lispy_function_keys): Define as static on Android.
Po Lu [Sun, 12 May 2024 02:18:02 +0000 (10:18 +0800)]
* src/keyboard.c (lispy_function_keys): Define as static on Android.

22 months ago; Update last change
Po Lu [Sun, 12 May 2024 02:16:56 +0000 (10:16 +0800)]
; Update last change

* msdos/sedlibmk.inp (STDDEF_NOT_IDEMPOTENT): Define to 1.

22 months agoFix the DJGPP build
Po Lu [Sun, 12 May 2024 02:13:41 +0000 (10:13 +0800)]
Fix the DJGPP build

* msdos/sedlibmk.inp (HAVE_STRTOF, NULLPTR_T_NEEDS_STDDEF):
Define to 1.

22 months agoPacify gcc -Wmissing-variable-declarations
Paul Eggert [Sat, 4 May 2024 17:08:48 +0000 (10:08 -0700)]
Pacify gcc -Wmissing-variable-declarations

This is a new warning diagnostic in GCC 14.
* lib-src/etags.c (mercury_heuristics_ratio):
* src/pgtkselect.c, src/xselect.c (selection_request_stack):
* src/xselect.c (outstanding_transfers):
* src/xterm.c (pending_selection_requests)
(x_dnd_waiting_for_motif_finish_display):
Now static.
* lib-src/make-docfile.c (close_emacs_globals):
Arrange for lispsym to be declared with extern first,
when compiling lread.c.
* src/alloc.c (gdb_make_enums_visible) [__GNUC__]:
* src/emacs.c (RCS_Id):
* src/keyboard.c (stop_character):
* src/print.c (print_output_debug_flag):
Now declared with extern first.
* src/lisp.h (DEFINE_GDB_SYMBOL_BEGIN) [MAIN_PROGRAM]:
Arrange for ID to be declared extern first.
* src/lisp.h (garbage_collection_inhibited):
* src/xterm.h (x_frame_parm_handlers):
Declare here, so that its interface is properly checked.  Other decls
removed.

22 months agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Sat, 11 May 2024 20:16:48 +0000 (13:16 -0700)]
Update from Gnulib by running admin/merge-gnulib

22 months agoAdjust to recent Gnulib changes
Paul Eggert [Sat, 4 May 2024 16:55:27 +0000 (09:55 -0700)]
Adjust to recent Gnulib changes

* admin/merge-gnulib: Also remove the new Gnulib file
m4/off64_t.m4, as Emacs doesn’t need off64_t.
* configure.ac (gl_TYPE_OFF64_T): Define a nearly no-op.

22 months ago; * lisp/cus-edit.el (custom-save-all): Remove offensive commentary.
Eli Zaretskii [Sat, 11 May 2024 17:13:17 +0000 (20:13 +0300)]
; * lisp/cus-edit.el (custom-save-all): Remove offensive commentary.

22 months agoFix test of whether to insert lexical-binding cookies in custom files
Po Lu [Sat, 11 May 2024 14:24:23 +0000 (22:24 +0800)]
Fix test of whether to insert lexical-binding cookies in custom files

* lisp/cus-edit.el (custom-save-all): Test whether the buffer is
empty, not whether point is at EOB.

22 months ago; More coding style fixes
Po Lu [Sat, 11 May 2024 13:35:42 +0000 (21:35 +0800)]
; More coding style fixes

* src/sort.c (reverse_sortslice, tim_sort): Correct not-so
egregious misformattings.

22 months ago; Fix coding style in timsort.c
Po Lu [Sat, 11 May 2024 13:34:30 +0000 (21:34 +0800)]
; Fix coding style in timsort.c

* src/sort.c (reverse_slice, sortslice): Fix egregious coding
style inconsistencies.

22 months ago; Fix byte-compilation warnings in lua-ts-mode.el
Eli Zaretskii [Sat, 11 May 2024 10:54:35 +0000 (13:54 +0300)]
; Fix byte-compilation warnings in lua-ts-mode.el

* lisp/progmodes/lua-ts-mode.el (treesit-node-eq)
(treesit-node-prev-sibling): Declare.

22 months agoMerge from origin/emacs-29
Eli Zaretskii [Sat, 11 May 2024 10:50:56 +0000 (06:50 -0400)]
Merge from origin/emacs-29

0ec9a02a0d5 ; Fix doc strings of two scroll-bar functions.
2f8bccf9d8c ; * doc/emacs/frames.texi (Scroll Bars): Improve formatting.
f9832e80b89 ; * lisp/textmodes/ispell.el (ispell-message): Add commen...
a7d247be90c ; * etc/PROBLEMS: Document macOS problems with Emacs.clr ...
8560ee7b5ca ; * doc/misc/auth.texi (The Unix password store): Fix var...
74c6b59af15 ; Advertise scroll bars some more
3d65d4306b9 Avoid errors in 'image-dired-tag-thumbnail'

22 months agoSupport Python 3 in 'package-test-update-archives-async'
kobarity [Thu, 9 May 2024 15:39:10 +0000 (00:39 +0900)]
Support Python 3 in 'package-test-update-archives-async'

* test/lisp/emacs-lisp/package-resources/package-test-server.py:
Support Python 3.
* test/lisp/emacs-lisp/package-tests.el
(package-test-update-archives-async): Search for an executable
named "python", "python3", or "python2".  (Bug#70722)

Co-authored-by: Lin Sun <sunlin7@hotmail.com>
22 months agoFix Rmail summary by thread
Eli Zaretskii [Sat, 11 May 2024 09:16:48 +0000 (12:16 +0300)]
Fix Rmail summary by thread

* lisp/mail/rmailsum.el (rmail-summary-by-thread): Use value of
'rmail-total-messages' local to 'rmail-buffer'.  Patch by Andrea
Monaco <andrea.monaco@autistici.org>.

22 months ago; * lisp/net/dictionary.el (dictionary-default-strategy): Doc fix.
Eli Zaretskii [Sat, 11 May 2024 08:17:34 +0000 (11:17 +0300)]
; * lisp/net/dictionary.el (dictionary-default-strategy): Doc fix.

22 months agoNew Tramp method "run0"
Michael Albinus [Sat, 11 May 2024 08:03:45 +0000 (10:03 +0200)]
New Tramp method "run0"

* doc/misc/tramp.texi (Quick Start Guide, Inline methods)
(Password handling, Predefined connection information)
(Ad-hoc multi-hops): Add "run0".
(Remote processes): Mention tramp-use-connection-share.

* etc/NEWS: New Tramp method "run0".

* lisp/net/tramp.el (tramp-completion-dissect-file-name):
* lisp/net/tramp-cmds.el (tramp-list-remote-buffers):
* lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
Use `tramp-compat-keep-seq'.

* lisp/net/tramp-cmds.el (tramp-file-name-with-method): Add "run0".

* lisp/net/tramp-sh.el (tramp-enable-run0-method): New defun.
(tramp-sh-handle-expand-file-name): Add "run0".
(tramp-maybe-open-connection): Simplify setting timeout.

22 months agoImprove documentation of p-s-p-scroll-down-page
Po Lu [Sat, 11 May 2024 06:38:54 +0000 (14:38 +0800)]
Improve documentation of p-s-p-scroll-down-page

* lisp/pixel-scroll.el
(pixel-scroll-precision-scroll-down-page): Document unit in
which the height of the window is measured, and what manner of
height applies.  Reported by Eli Zaretskii <eliz@gnu.org>.

22 months agoDelete unused functions
Po Lu [Sat, 11 May 2024 06:34:32 +0000 (14:34 +0800)]
Delete unused functions

* java/org/gnu/emacs/EmacsNative.java (dup, close):

* src/android.c (dup, close): Delete functions no longer
referenced.

22 months ago; Fix doc strings of two scroll-bar functions.
Eli Zaretskii [Sat, 11 May 2024 05:29:22 +0000 (08:29 +0300)]
; Fix doc strings of two scroll-bar functions.

* lisp/scroll-bar.el (toggle-horizontal-scroll-bar): Fix typo and
wording.  (Bug#70864).
(toggle-scroll-bar): Fix wording.

22 months agoUpdate gnus-draft-check-draft-articles to use find-buffer-visiting
Eric Abrahamsen [Fri, 10 May 2024 19:38:57 +0000 (12:38 -0700)]
Update gnus-draft-check-draft-articles to use find-buffer-visiting

* lisp/gnus/gnus-draft.el (gnus-draft-check-draft-articles): Don't loop
through all the buffers; this removes the need for the `file-remote-p'
check. Also give the user some nicer feedback about what's going on.

22 months agoRemove extra message-set-auto-save-file-name call in Gnus drafts
Eric Abrahamsen [Fri, 10 May 2024 15:49:57 +0000 (08:49 -0700)]
Remove extra message-set-auto-save-file-name call in Gnus drafts

Bug#70579

* lisp/gnus/gnus-draft.el (gnus-draft-setup): This function is already
being called as part of the message-mail -> message-mode call
above. Running it twice results in a jump in assigned article numbers,
and the corresponding active value of the drafts group.